// 收藏
const router = require('express').Router();

const collectModel = require('../../model/collectModel');
const Jwt = require('../../common/token/jwt');//处理token的工具 json web token

// 收藏文章
// URL: /api/collect/add
// 参数：token , article_id, collect_create_time
router.post('/add', async (req, res) => {
    // 获取token
    let token = req.body.token || req.headers.token;
    // 验证token
    let result = new Jwt(token).verifyToken();
    // 登录状态
    if (result.code == 200) {
        // 获取前端的参数
        let { article_id, collect_create_time , article_title,classify_text,article_src} = req.body;
        // 从登录临时身份获取from_user_id
        let user_id = result.info.data;
        // 判断参数是否有值
        if (article_id && collect_create_time && article_title) {
            // 收藏id
            let collect_id = Math.random().toString().slice(2) + "_" + (new Date().getTime())

            // 发表评论
            await collectModel.add(article_title, article_id, collect_create_time, user_id,collect_id,classify_text,article_src)
                .then(
                    (content) => {
                        res.send(content)
                    },
                    (error) => {
                        res.send(error)
                    }
                )
        }
        else {
            res.send({
                code: 404,
                msg: '缺少参数。'
            })
        }
    }
    else {
        res.send({
            code: -1,
            msg: '登录失效,请重新登录。'
        })
    }
})

// 删除收藏文章
// URL: /api/collect/remove
// 参数: collect_id , token  
router.post('/remove', async (req, res) => {
    // 获取token
    let token = req.body.token || req.headers.token;
    // 验证token
    let result = new Jwt(token).verifyToken();
    // 登录状态
    if (result.code == 200) {
        let { collect_id } = req.body;
        if (collect_id) {
            await collectModel.remove(collect_id)//删除收藏指定的记录
                .then(
                    (content) => { res.send(content) },
                    (error) => { res.send(error) }
                )
        }
        else {
            res.send({
                code: 404,
                msg: '缺少参数。'
            })
        }
    }
    else {
        res.send({
            code: -1,
            msg: '登录失效,请重新登录。'
        })
    }
})

// 获取收藏列表
// URL: /api/collect/list
router.get('/list', async (req, res) => {
     // 获取token
     let token = req.query.token || req.headers.token;
     // 验证token
     let result = new Jwt(token).verifyToken();
    if(result.code == 200){
        let user_id = result.info.data;
        await collectModel.list(user_id)// 获取收藏文章列表
        .then(
            (content) => { res.send(content) },
            (error) => { res.send(error) }
        )
    }
    else {
        res.send({
            code: -1,
            msg: '您还没有登录。'
        })
    }
    
})


module.exports = router;